Adapative control method in real-time communication

ABSTRACT

An adaptive control method in real-time communication for taking measures against the conditions of the loss of a receiver report packet which is sent out from an apparatus at the side of receiving distributed data toward a distribution server, thereby achieving an appropriate data distribution adaptive to transmission path conditions and/or communication conditions: According to the method, a dynamic arrangement for the transmission interval of a receiver report packet is made between data distribution server ( 301 ) and data reception apparatus ( 101 ) Then, after starting the transmission/reception of real-time data, data distribution server ( 301 ) monitors the reception conditions of the receiver report packet in a unit of the arranged transmission interval, and then adaptively controls a data transmission rate, etc., based on a monitoring result.

FIELD OF THE INVENTION

The present invention relates to an adaptive control method in real-timecommunication, and further relates to a method of taking measuresagainst consecutive losses of receiver report packets, and to a dynamicdetermination apparatus for determining the transmission interval ofreceiver report packets, an adaptive control apparatus in real-timecommunication, and a data reception apparatus as well as a datadistribution apparatus.

BACKGROUND ART

When transmitting digital data such as image and sound (multi-mediadata) via a packet communication channel such as the Internet or awireless communication network to run a streaming application, datatransport is performed in accordance with such a protocol asIETF-specified (Internet Engineering Task Force) RFC 2326 or RTSP (RealTime Streaming Protocol) and the like.

Herein, RTSP is a protocol which stipulates communication procedures andcontrol methods between a client which plays back multi-media data and aserver which stores and presents the multi-media data.

That is, the setting-up and disconnecting of a session, and therequesting of media playback, is executed with RTSP. TCP/IP, which isnow widely applied in Web, etc., is used for the purpose oftransmitting/receiving streaming control commands using RTSP.

It is popular to adopt RTP/UDP/IP for actual media data such as soundand image.

Next, an explanation is given here on RTP/UDP protocols.

RTP/UDP are real-time transmission protocols, and they are suitablyapplied to the transmission of real-time data such as sound and image.As their downside, RTP/UDP do not guarantee the complete reception ofdata at its receiving end, which is in contrast to TCP.

Making image and sound encoded with a coding scheme such as MPEG (MovingPicture Expert Group) as a payload, a server configures an RTP packet byassigning thereto a packet generation time and a sequence number forindicating the order of packets, and sends the packet to a client.

The client extracts image data and sound data out of the payload of theRTP packet received from the server to play it back and/or store it.

When the server finishes the transmission of all multi-media data, orwhen the server wishes to finish communication, the server sends anotification packet for session disconnection to the client, and thendisconnects the session to return to the initial state. In someoccasions, due to network congestion or a bit error, packet receptionmay fail, or a packet may be received incorrectly. Especially, a loss ofan important packet could cause a significant degradation in imagequality and sound quality.

Because the sequence number in an RTP packet indicates the serial orderof packet generation recorded in itself, it is possible to detect at thetime of detecting any discontinuous sequence in numbers that there issome packet which has failed to be received, where such detection ismade by confirming its number at each packet reception.

As described heretofore, there is a possibility of the missing of somepacket in media transmission using RTP packets. In order to notify thereception conditions of a client to a server, the client transmits tothe server a packet called as an RR (Receiver Report) packet or afeedback packet when it is necessary.

In the RR packet, the reception statistics information of a receptionapparatus, that is, the client, is mainly described. The statisticsinformation means jitters, etc., which indicates fluctuations in thenumber of RTP packet losses and in RTP packet reception time.

Meanwhile, an SR (Sender Report) packet is transmitted from the serverto the client. This is used for calculating a round trip time from theSR and RR. Upon reception of the RR, the server is able to changetransmission conditions in an adaptive manner in accordance with the RRstatistics information.

For example, when the deterioration in transmission path conditions isreported by the RR statistics information, the server can take somemeasures to change its stream into one having a lower bit rate so as toprevent any further degradation in congestion conditions, or to heightenits error resistance so as to reduce the negative effect of any packetloss.

A sequence example according to a conventional streaming technique isexplained here with reference to FIG. 1.

ST1001 through ST1003 represents transmission/reception of RTSP controlcommands before the starting of streaming.

In ST1001, a server notifies information pertaining to media to bepresented (such as its bit rate, etc.) to a client.

When the reception and playback of the media is possible, the clientrequests a session establishment (ST1002).

After setting a session up, the client makes a request to the server forthe transmission of media data (ST1003).

ST1004 is a session disconnection request, and its response. From ST1003through ST1004, the server conducts the transmission of media data inRTP packets.

Next, an explanation is given here on RTP packets. An SN (SequenceNumber) as in SN=1 is assigned to each of all RTP packets. Accordingly,a client is able to know any missing of an RTP packet or anydiscontinuity in sequence thereof on a network.

Starting from the SN=1 packet, a server transmits media data to theclient sequentially. In parallel with such transmission, the servertransmits SR packets periodically (SR1, SR2, SR3).

The client receives the media data and the SR packets, and transmits RRpackets, which are packet reception statistics information, to theserver periodically (RR1, RR2, RR3).

After transmitting the last packet (SN=302), the server transmits apacket called as BYE packet to notify that the transmission of all mediapackets is finished.

After receiving the BYE packet, the client requests to the server forTEARDOWN, which is an RTSP command, and then the session isdisconnected.

Incidentally, though the initial value of SN is supposed to be assignedin random, it is explained here with an assumption that the initialvalue is 1 for the purpose of making the explanation simpler.

Next, an explanation is given here on operation under a situation wherea transmission path having a high probability of packet losses, such asa wireless network, exists between communication ends.

As described heretofore, RTP protocol does not guarantee sure receptionof a packet at its receiving end.

Accordingly, there may be some cases where an RTP packet fails to bereceived correctly. For example, when an RTP packet of SN=2 gets lost,the data reception apparatus is able to know that the RTP packet of SN=2has gotten lost upon reception of a packet SN=3. Likewise, when RR1packet is lost halfway, the server is able to know that the RR1 packethas gotten lost halfway upon reception of RR2 packet.

As described above, it is critical in multi-media data distribution totake some measures against channel congestion, and in this aspect, thereare some known techniques which have a reception terminal provide afeedback on its reception conditions (congestion occurrence information)to a data distribution server in order to have it perform adaptivecontrol such as data transmission rate change, etc., based on thefeedback information (refer to Japanese Laid-Open Patent Publication No.H11-261988, and Japanese Laid-Open Patent Publication No. 2001-160824).

The techniques described in the above publications are based on theprecondition that the reception condition information (this is seemed tobe used for the same purpose as that of a receiver report) which isreturned by the reception terminal to the data distribution serverreaches the server without fail.

Therefore, there arises a problem in a situation where a receptionterminal has sent out a reception condition report, but the report getslost on its return way to a server due to congestion on a transmissionpath, or in another situation where the reception terminal is a handheldterminal, and the terminal moves to the outside of its communicationaccessible range, or where the terminal gets no longer reachable becauseits power is turned off; under such a condition, it is not possible totake any action at all because no information to be used as a basis forcontrol is returned to the data distribution server.

That is, according to a conventional server apparatus or clientapparatus, when an RR packet (receiver report packet) gets lost, becausea server is not able to use statistics information on the lost RRpacket, the server fails to take an immediate response action even whenthe deterioration in transmission path conditions is reported.

Moreover, when RR packets get lost consecutively, the server is not ableto make a discrimination as to whether the client has not transmittedany RR packets or RR packets has gotten lost consecutively due todegradation in transmission path conditions.

Therefore, even under a situation where there is an occurrence ofcongestion on the transmission path from the server to the client, thereis a fear that the server continues to send packets, which could furtheraggravate the congestion.

A detailed explanation is given here with reference to a sequencediagram of FIG. 2.

An explanation is omitted for steps ST2001, ST2002, ST2003, and ST2004because they are the same as those in FIG. 1.

In the sequence diagram of FIG. 2, some RTP packets and RTCP packets arelost due to effects from network congestion or a transmission error in awireless network, etc,. That is, RTP packets of SN=199 and SN=202, andRR packets of RR2 and RR3 are the lost ones.

Though the server receives RR1 correctly, it is not able to receive RR2and RR3 at all due to their losses. In RR2 and RR3, information on thenumber of packets discarded due to the losses of SN=199 and SN=202 arerespectively described.

If the server received RR2 and RR3 as it is supposed to do so, theserver would perform processing such as the reduction of thetransmission rate of RTP packets to avoid further congestion; however,the server is not able to perform such processing at all due to thelosses of RR2 and RR3.

DESCRIPTION OF THE INVENTION

The present invention has been made in view of the foregoingdisadvantages, and the object of the invention is to take measuresagainst the loss of a receiver report packet which is sent out from anapparatus at the side of receiving distributed data, thereby realizing aproper data distribution adaptive to transmission path conditions and/orcommunication conditions.

According to an adaptive control method in real-time communication ofthe present invention, an arrangement is made for arranging thetransmission interval of a receiver report packet between a datatransmission apparatus and a data reception apparatus before startingtransmission and reception of real-time data, and the data transmissionapparatus monitors the reception conditions of the receiver reportpacket in a unit of the arranged transmission interval after startingthe transmission and reception of the real-time data, and then the datatransmission apparatus adaptively controls data transmission based on amonitoring result.

That is, it determines the transmission interval of a receiver reportpacket dynamically by utilizing control signals at the time of sessionestablishment and so on, and obligates the data reception apparatus tomake one reception reporting without fail at the determined intervalperiodically (when fixed intervals are employed), or alternatively, tomake a reception reporting(s) at least once within the determinedinterval (when tolerable maximum intervals are employed).

By this means, it becomes possible for the data transmission apparatusto monitor the conditions of the losses of receiver report packets in aunit of the interval and to estimate the transmission path conditionsand/or communication conditions based on the monitoring, which makes itfurther possible to perform the adaptive controlling of datatransmission. That is, it is possible to prevent congestion by adjustingan RTP transmission rate; and in a case where it is guessed that thesession has been disconnected because the data reception apparatus hasfallen into a non-accessible state for communication, it is possible toavoid unnecessary data transmission by ending RTP transmission.

Regarding arrangement of the transmission intervals of receiver reportpackets, it is preferable to adopt a transport scheme employing aconnection-oriented protocol having a high reliability (such as TCP) inorder to ensure communication.

With the present invention, it is possible to take measures against theconsecutive losses of receiver report packets.

In addition, a dynamic determination apparatus for the transmissioninterval of a receiver report packet according to the present inventioncomprises a transmission interval determination section that dynamicallydetermines the transmission interval of a receiver report packet inreal-time communication, and a transmission section that transmits thedetermined transmission interval to an apparatus at the other end ofcommunication using a connection-oriented transport scheme having a highreliability.

Moreover, an adaptive control apparatus in real-time communicationaccording to the present invention comprises a monitoring section thatmonitors the reception conditions of the receiver report packet in aunit of a transmission interval determined by the dynamic determinationapparatus for the transmission interval of the receiver report packetafter starting transmission and reception of the real-time data, and anadaptive control section that controls data distribution adaptivelybased on a monitoring result.

By providing such a dynamic determination apparatus for the transmissioninterval of a receiver report packet and an adaptive control apparatusin real-time communication in a data distribution server or in a datareception terminal, or alternatively, by providing them on communicationtransmission path individually, it is possible to perform channelcongestion control and distribution data QoS control in consideration ofthe possible occurrence of receiver report packet losses.

Furthermore, a data reception apparatus according to the presentinvention comprises a transmission interval determination section thatdetermines the transmission interval of a receiver report packet, acontrol information transmission and reception section that is able tonotify the determined transmission interval information to the other endof communication using a connection-oriented communication protocol, areceiver report packet generation section, and a receiver report packettransmission section that transmits a receiver report packet at leastonce within the transmission interval.

Still furthermore, a data distribution apparatus according to thepresent invention comprises a timer for measuring the elapsing of thetransmission interval of a receiver report packet, which is notified byan apparatus at distribution end or is determined by the apparatusitself, a counter that counts the number of times of failed receptionsof the receiver report packet within the transmission interval or withinan interval of the transmission interval plus a delay time of atransmission path, and an adaptive control section in real-timecommunication that compares a counter value of the counter with one ormore threshold, and based on a comparison result, lowers thetransmission rate of the media data or disconnects session.

Because the configuration of the apparatus is simple and it is possibleto realize such a configuration with just minor modifications in RTP(Real-Time Protocol), it is easy to implement the method according tothe present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a sequence diagram for illustrating an example of real-timecommunication procedures;

FIG. 2 is a sequence diagram for illustrating an example of procedureswhen performing media distribution on a network which is subject tocongestion and/or transmission errors;

FIG. 3 is a block diagram for illustrating the configuration of amulti-media data distribution system (a real-time data communicationsystem);

FIG. 4 is a diagram for illustrating a protocol stack when performingmulti-media communication (real-time communication);

FIG. 5 is a flowchart illustrating the fundamental procedures of anadaptive control according to the present invention in a multi-mediareal-time communication;

FIG. 6 is a block diagram illustrating an example of the configurationof a data transmission server/data reception apparatus;

FIG. 7 is a sequence diagram for explaining the operation of thereception data apparatus in FIG. 6 (the specific operation which isperformed when determining the transmission interval of a receiverreport packet in the data reception apparatus).

FIG. 8 is a flowchart for explaining the operation of the server side inFIG. 6;

FIG. 9 is a diagram illustrating an example of the contents of an RTSPmessage from a data reception apparatus to a server;

FIG. 10 is a diagram illustrating an example of the contents of an RTSPresponse from a server to a data reception apparatus;

FIG. 11 is a block diagram illustrating another example of theconfiguration of a data transmission server/data reception apparatus;and

FIG. 12 is a diagram illustrating an example of the scripting of mediainformation in compliance with SDP (stipulated in RFC2327).

BEST MODE FOR CARRYING OUT THE INVENTION

Embodiments of the present invention will be described in detail belowwith reference to the accompanying drawings.

It is noted that “real-time data” as used in this specification isdefined as a type of data for which real-time processing/nature isrequired, and this term is used herein as a synonym of media data whichrepresents audio data and/or video data (or multi-media data).

Embodiment 1

In the present embodiment, a data reception apparatus determines a fixedinterval or a tolerable maximum interval with which it sends a receiverreport to a server, and notifies information on the interval to theserver by using a reliable transport scheme, whereas the conditions ofreceiver report packet loss is monitored at the server side so as toperform adaptive control on data distribution based on a monitoringresult.

In the present embodiment, it is assumed to implement the methodaccording to the present invention in a data distribution system havinga combination of a wired communication network and a wirelesscommunication network as illustrated in FIG. 3.

As shown in FIG. 3, mobile station 50 receives multi-media data (imagedata and/or sound data) which was distributed from distribution server10. Multi-media data for distribution goes through wired network 20,gateway 30, and wireless base station 40 to be transmitted to mobilestation 50.

As mobile station 50, a hand held device such as PDA (Personal DigitalAssistant), a mobile phone, or a personal computer is conceivable.Because the conditions of wireless communication suffers significanteffects from a reception environment, channel congestion tends to occurfrequently, and there is a fear of degradation in the quality ofreception signals due to an increase in a communication data error rate,and there is also a possibility of a channel disconnection caused by themoving of the terminal to an area where radio wave is hard to reach.

If the transmission of data is continued without conducting any adaptivecontrol by data distribution server 10 regardless of the occurrence ofpacket loss conditions where a receiver report packet sent out frommobile station 50 has been lost on its way to distribution server 10, aburden on the channel will become heavier and heavier.

Therefore, an adaptive control on data distribution by utilizing thedynamic determination of the transmission interval of a receiver reportpacket according to the present invention works effectively.

There is no specific limitation in a wireless communication schemebetween mobile station 50 and base station 40, and it is possible toemploy a variety of schemes such as a CDMA scheme or a GSM scheme. Theapplication of the present invention is effective in a W-CDMA schemebecause the real-time distribution of multi-media data is possibletherein.

FIG. 4 is a diagram for explaining the protocol stack used fortransmission/reception of multi-media data.

As illustrated in the figure, RTP (Real-Time Protocol) and UDP (UserDatagram Protocol) make up a set, and form a transport layer protocol.Incidentally, in order to achieve real-time multi-media communicationvia a communication network CN, other protocol such as RTSP, SDP isrequired.

IP (Internet Protocol) is adopted as a network layer protocol.

Specifically, the present invention intends to add some improvements onthe RTP protocol with the aim of dealing with the conditions of areceiver report packet loss.

The main procedures of an adaptive control in a multi-media real-timecommunication according to the present invention are summarized asillustrated in FIG. 5.

Specifically, the transmission interval (fixed interval or tolerablemaximum interval) of a receiver report packet is dynamically determinedbetween a data distribution server and a reception terminal (Step 60).

Next, the data distribution server monitors the reception conditions ofa receiver report packet sent from the reception terminal in the unit ofset time interval (Step 70).

Then, it compares the number of times of the failed receptions ofreceiver report packets with one or more threshold(s), and in accordancewith the comparison result, it performs adaptive control such as thechanging of a data transmission rate, the ending of a session, and soforth (Step 80).

Embodiments of the present invention will be described in more specificdetail below with reference to the drawings.

FIG. 6 is a block diagram illustrating the configuration of a datadistribution server/data reception apparatus which transmits/receivesstreaming data.

Data distribution server 301 and data reception apparatus 101 performbi-directional communication with each other via communication network200.

First, the configuration and the operation of data reception apparatus101 (shown in the lower side of FIG. 4) will be explained.

Control information transmission/reception section 102transmits/receives control information such as the setting-up, starting,stopping, etc. of streaming.

TCP transmission/reception section 103 performs transmission/receptionto/from a server via a network such as the Internet, wireless network,and so on by using TCP, which is a reliable transport scheme.

UDP transmission/reception section 109 performs transmission/receptionto/from a server via a network such as the Internet, wireless network,and so on by using UDP, which is a non-reliable transport scheme.

RTP reception section 108 receives media data transmitted from theserver. Media playback section plays back the media data, which is audioor video, accommodated in the RTP packet received at the section 108.

Receiver report packet generation section 105 monitors the received RTPpacket to measure packet losses and/or the fluctuations in receptiontime, and generates a receiver report packet.

RTCP transmission/reception section 107 receives a sender report packet,etc., transmitted from the server, while the section 107 transmits areceiver report packet, etc., generated at receiver report packetgeneration section 105 to the server.

Receiver report transmission interval determination section 104determines a fixed transmission interval or a tolerable maximum intervalwith which a receiver report is sent to the server, and notifies it tothe server via control information transmission/reception section 102,and at the same time, instructs the determined interval to receiverreport packet generation section 105.

Here, if the fixed transmission interval for a receiver report packet istaken, data reception apparatus 101 is obliged to send out receiverreport packets periodically at each of the interval.

On the other hand, if the tolerable maximum interval is taken, datareception apparatus 101 is obliged to send out a receiver report packetat least once within the interval, where it may be done at any timingwithin the interval.

It is arbitrary to select which one of the intervals; however, in a casewhere the tolerable maximum interval is used, there is an advantage ofenjoying freer transmission timing for receiver report packets.

It is noted that “trr-fixed-int” is used as a parameter name for a fixedreceiver report transmission interval in the following description. Inaddition, “trr-max-int” is used as a parameter name for a tolerablemaximum receiver report transmission interval hereafter.

Next, the operation of data reception apparatus 101 is explained withreference to FIG. 7.

FIG. 7 is a sequence diagram illustrating the operation of client 101.

As in the operation of the prior art, the setting-up of a session iscompleted through ST4001 and ST4002. Next, the transmission interval ofa receiver report packet, which is determined by the client (receiverreport transmission interval), is transmitted to the server.

Specifically, a SET_PARAMETER request of an RTSP control messagespecifying trr-max-int, which is a parameter name of a receiver reporttransmission interval (here, it is assumed to use a maximum tolerableinterval), is transmitted from the client to the server. As describedabove, it is possible to use trr-fixed-int (that is, a fixed interval)as the parameter.

In the present case, as it is specified as “trr-max-int=5000”, itfollows that the client notifies to the server that it will send areceiver report at least once in every 5000 ms=5 sec.

Next, the configuration and the operation of media data distributionserver 301 (shown in the upper side of FIG. 6) will be explained.

As shown in FIG. 6, control information transmission/reception section302 transmits/receives control information such as the setting-up,starting, stopping, etc. of streaming as requested from a data receptionapparatus.

TCP transmission/reception section 303 performs transmission/receptionto/from a data reception apparatus via a network such as the Internet,wireless network, and so on by using TCP, which is a reliable transportscheme.

UDP transmission/reception section 309 performs transmission/receptionto/from a data reception apparatus via a network such as the Internet,wireless network, and so on by using UDP, which is a non-reliabletransport scheme.

RTP transmission section 308 transmits media data to a data receptionapparatus.

Media storage section holds media data, which is audio or video, to betransmitted by the section 308. Sender report packet generation section305 performs the measuring of a data round trip time between the serverand the data reception apparatus, and so on, and generates a senderreport packet.

RTCP transmission/reception section 307 receives a receiver reportpacket, etc., transmitted from the data reception apparatus, while thesection 307 transmits a sender report packet, etc., generated at senderreport packet generation section 305 to the data reception apparatus.

Timer 310 sets a value (i), which is the value of the receiver reporttransmission interval inputted from control informationtransmission/reception section 302 plus some considerations on jittersa, and provides its output to counter 311 if no receiver report packethas been received during β.

That is, the timer 310 also functions as a judgment section that judgeswhether a receiver report packet has arrived or not within a giveninterval.

It is noted that, not only when a maximum tolerable interval is takenbut also when a fixed interval is taken, consequentially, the commonapproach can be taken in a point that it is enough to judge whether areceiver report packet has arrived or not in the interval, and thereforeit is possible to make a judgment with the configuration illustrated inFIG. 6 regardless of which one of the intervals is used.

Counter 311 increments its counts by one when receiving an input fromtimer 310. When the counts amount to a certain predetermined value, aninstruction for reducing transmission rate is inputted into transmissionrate adjustment section 312, and the section 312 reduces thetransmission rate of RTP packets accordingly.

When the value of the counter amount to a further greater predeterminedvalue, an instruction for ending the transmission of RTP packets isinputted from the counter into session disconnection section 313, andthe section 313 finishes the transmission of RTP packets to end thesession accordingly.

Next, the operation of media data distribution server 301 is explainedwith reference to FIG. 8.

At step ST10001, the server accepts a SETUP request from its client, andtransmits a response (OK).

Subsequently, the server receives a SET_PARAMETER request, and setstrr-max-int into a value specified from the client (5000 ms) (ST10002).After accepting a PLAY request and then transmitting a response (OK),the server starts the transmission of RTP packets containing media datato the client (ST10003).

After starting the transmission of RTP packets, the server receives thefirst receiver report packet from the client (ST10004). The server setsits counter at 0 (ST10005).

Setting the timer at 0, the server starts its timer (ST10006) Next, theserver monitors whether a receiver report packet is received or not(ST10007), and if there is the reception of a receiver report packet,the server adjusts its transmission rate based on information containedin the received RR packet (ST10015), and thereafter, the process goesback to the processing in ST10005.

If no receiver report packet is received in ST10007, it moves onto theprocessing in ST10008. A comparison is made between the value of thetimer which is incremented by one at every 1 ms, that is, the value t,and the value of trr-max-int with an addition of α, where α is a valuefor considerations on jitters indicating the variations in RTP packetreception time, that is, the value trr-max-int+α (ST10008).

If t is lesser, the process goes back to ST10007 to monitor thereception of any receiver report packet; and if t is greater, it isjudged that the receiver report packet has been lost on its way, or thatthe error rate has increased or transmission has not been done, and itgoes to ST10009.

At ST10009, the counter indicating the number of the failed receptionsof receiver report packets is incremented by one.

Then, at ST10010, it is judged whether the counter is, for example, “5”or not. That is, it is judged whether the failed receptions of receiverreport packets have reached 5 times or not. Then, if not “5”, theprocessing returns to ST10006; and if “5”, it is judged whether thecurrent transmission rate is the minimum one or not (ST10011). Thoughthe transmission rate is controlled stepwise, it can not be reduced lessthan the minimum rate if the current rate is the minimum one, andtherefore, if the judgment made in ST10011 is YES, the transmission ofRTP packets is ended (ST10014).

At ST10012, it is judged whether the counter is, for example, “10” ornot. If not “10”, it is judged that, though the session with the clientcontinues to be held, a receiver report packet has been lost due to acause of congestion, etc., and when judged so, the degradation of thecongestion is prevented by reducing the transmission rate of RTP packets(ST10013).

If it is “10”, it is judged that the session with the client has beendisconnected unilaterally due to a cause of the turning-off of power bythe client, and the transmission of RTP packets is ended (ST10014).

The workings of the counter incrementing are explained with reference toFIG. 7.

An explanation for ST4001 through ST4004 is omitted here because theyare the same as explained heretofore. After receiving RR1, the timerstarts at the server.

As the value of the server timer, β as determined by the followingequation is taken (β=the reception report transmission interval notifiedin advance+α).

If the server does not receive RR while a duration of β elapses, theserver increments the counter by one to make the counter=1. If anotherduration β elapses without receiving any RR, the counter is furtherincremented by one, where the counter=2.

Here, an explanation is given on a message notified with SET_PARAMETERwith reference to FIG. 9.

The line starting with SET_PARAMETER indicates that a SET_PARAMETERrequest is transmitted to the URL specified with rtsp://.Cseq signifiesa sequence number, which is incremented by one at each exchanging ofRTSP messages in an RTSP session. Session is an identification numberfor identifying a certain RTSP session.

The above are an RTSP header, and a main text starts with one blank linespace after it. In the text, trr-max-int=5000 is scripted, whichnotifies the receiver report transmission interval to the server.

Upon reception of the notice, the server returns OK as illustrated inFIG. 10.

Though it is explained here with the receiver report transmissioninterval as a fixed value of 5000 ms in the present embodiment, theinvention is not limited to such a case.

Moreover, as described above, a fixed interval may be specified whichensures the transmission of a receiver report packet once at everyreceiver report transmission interval, instead of specifying a maximuminterval where a receiver report packet is transmitted at least oncewithin the receiver report transmission interval.

Embodiment 2

In the present embodiment, a data distribution server determines thetransmission interval of a receiver report packet, and notifiesinformation on the determined interval to a data reception apparatus byusing a reliable transport scheme.

FIG. 11 is a block diagram illustrating the configuration of a mediadata transmission server/data reception apparatus.

Basically, the configuration is the same as one in the above-describedembodiment (FIG. 6), and a redundant explanation is omitted here.

That is, in data reception apparatus 101 shown in the lower side of FIG.11, the configuration is the same as one in FIG. 6 except for receiverreport transmission interval determination section 204, and thereforethe same explanation is not given here.

Information on the receiver report transmission interval received fromdata distribution server 301 is inputted into receiver reporttransmission interval determination section 204 via control informationtransmission/reception section 202. Then, in accordance with thereceiver report transmission interval, data reception apparatus 101transmits a receiver report packet (it does not matter whether it is ina packet format or not as long as it is information for reportingreception conditions) to data distribution server 301.

Meanwhile, in data distribution server 301 shown in the upper side ofFIG. 11, receiver report transmission interval determination section 304determines the interval with which the data reception terminal transmitsa receiver report to the server.

Then, the server instructs control information transmission/receptionsection 302 to transmit the determined transmission interval of areceiver report packet to data reception apparatus 101, and at the sametime, the server activates timer 310.

Though an example case where the transmission interval is notified bymeans of RTSP as a real-time communication protocol is explained in theabove description, it is also possible to achieve the same effect asabove with the similar configuration when SDP is employed as protocol.

FIG. 12 is a diagram illustrating an example of the scripting of mediainformation in compliance with SDP (stipulated in RFC2327).

The addition “a=trr-max-int 5000” is assigned to each of audio and videoinformation over the script of the prior art to be transmitted to thedata reception apparatus. In this way, according to the presentinvention, it is basically just enough to merely add the protocolscripting, which makes its implementation easy.

It is noted that the present invention is applicable not only to astreaming application but also to such an application as packet-basedvoice communication and packet-based TV conference. Accordingly, it ispossible to use the data distribution apparatus and the data receptionapparatus of the present invention as a packet-based voice communicationterminal or a packet-based TV conference terminal of SIP or H.323, andso on.

That is, the present invention is possible to be used for not only thedistribution of streaming data but also for voice communicationpurposes, etc., such as VoIP (Voice over IP). Incidentally, SIP/H.323are the names of standards for realizing voice communication and TVconferencing.

As described above, according to the present invention, whentransmitting/receiving audio data and/or video data via a network suchas a wireless one, etc., which is subject to the occurrence of networkcongestion and/or transmission errors, the interval of receiver reportstransmitted from a data reception apparatus is uniquely determinedthrough a session, and the interval is transmitted to either a server orthe data reception apparatus through a reliable transport scheme; andtherefore, by means of the receiver report interval, it is possible forthe server to end its transmission immediately when the session isdisconnected, and it is further possible to prevent the degradation ofcongestion conditions by reducing its packet transmission rateimmediately when there is degradation in the transmission pathconditions.

By this means, it is possible to achieve a flexible congestion control,and to avoid a rush in channel before it occurs, and these result in thecontribution to the enhancement in distribution data QoS (Quality ofService).

This specification is based on the Japanese Patent Application No.2002-269238 filed on Sep. 13, 2002, entire content of which is expresslyincorporated by reference herein.

INDUSTRIAL APPLICABILITY

The present invention is applicable to a system for distributingmulti-media data (audio data and/or video data) for which real-timeprocessing/nature is required.

FIG. 1

-   DATA RECEPTION APPARATUS-   RTP RECEPTION SECTION-   RTCP TRANSMISSION SECTION-   CONTROL INFORMATION TRANSMISSION/RECEPTION SECTION SERVER    FIG. 2-   DATA RECEPTION APPARATUS-   RTP RECEPTION SECTION-   RTCP TRANSMISSION SECTION-   CONTROL INFORMATION TRANSMISSION/RECEPTION SECTION SERVER    FIG. 3-   10 DISTRIBUTION SERVER-   20 WIRED NETWORK-   30 GATEWAY-   40 BASE STATION-   50 MOBILE STATION    FIG. 4-   COMMUNICATION NETWORK-   TRANSPORT LAYER PROTOCOL-   NETWORK LAYER PROTOCOL    FIG. 5-   ADAPTIVE CONTROL IN MULTI-MEDIA REAL-TIME COMMUNICATION-   60 DETERMINE TRANSMISSION INTERVAL (FIXED INTERVAL OR TOLERABLE    MAXIMUM INTERVAL) OF RECEIVER REPORT PACKET DYNAMICALLY BETWEEN DATA    DISTRIBUTION SERVER AND RECEPTION TERMINAL-   70 DATA DISTRIBUTION SERVER MONITOR RECEPTION CONDITIONS OF RECEIVER    REPORT PACKET SENT FROM RECEPTION TERMINAL IN UNIT OF SET TIME    INTERVAL-   80 COMPARE NUMBER OF TIMES OF FAILED RECEPTIONS OF RECEIVER REPORT    PACKETS WITH ONE OR MORE THRESHOLD(S), AND IN ACCORDANCE WITH THE    COMPARISON RESULT, PERFORM ADAPTIVE CONTROL SUCH AS CHANGING OF DATA    TRANSMISSION RATE OR ENDING OF SESSION END    FIG. 6-   301 SERVER-   302 CONTROL INFORMATION TRANSMISSION/RECEPTION SECTION-   303 TCP TRANSMISSION/RECEPTION SECTION-   311 COUNTER-   310 TIMER-   305 SENDER REPORT PACKET GENERATION SECTION-   307 RTCP TRANSMISSION/RECEPTION SECTION-   309 UDP TRANSMISSION/RECEPTION SECTION-   306 MEDIA STORAGE SECTION-   308 RTP TRANSMISSION SECTION-   312 TRANSMISSION RATE ADJUSTMENT SECTION-   313 SESSION DISCONNECTION SECTION-   101 DATA RECEPTION APPARATUS-   102 CONTROL INFORMATION TRANSMISSION/RECEPTION SECTION-   103 TCP TRANSMISSION/RECEPTION SECTION-   104 RECEIVER REPORT TRANSMISSION INTERVAL DETERMINATION SECTION-   105 RECEIVER REPORT PACKET GENERATION SECTION-   107 RTCP TRANSMISSION/RECEPTION SECTION-   109 UDP TRANSMISSION/RECEPTION SECTION-   106 MEDIA PLAYBACK SECTION-   108 RTP RECEPTION SECTION-   200 COMMUNICATION NETWORK    FIG. 7-   DATA RECEPTION APPARATUS-   RTP RECEPTION SECTION-   RTCP TRANSMISSION SECTION-   CONTROL INFORMATION TRANSMISSION/RECEPTION SECTION SERVER-   COUNTER=0-   COUNTER=1-   COUNTER=2-   TRANSMISSION INTERVAL=TRR-MAX-INT(ms)-   TRANSMISSION INTERVAL=TRR-MAX-INT(ms)    FIG. 8-   OPERATION AT SERVER SIDE-   ST10001 ACCEPT SETUP REQUEST-   ST10002 RECEIVE SET_PARAMETER    -   trr-max-int=5000-   ST10003 ACCEPT PLAYBACK REQUEST, START RTP PACKET TRANSMISSION-   ST10004 RECEIVE RECEIVER REPORT PACKET-   ST10005 SET COUNTER=0-   ST10006 START TIMER (t=0)-   ST10007 RECEIVER REPORT PACKET RECEIVED?-   ST10008 t>trr-max-int+α?-   ST10009 INCREMENT COUNTER BY 1-   ST10010 COUNTER=5?-   ST10011 MINIMUM TRANSMISSION RATE?-   ST10012 COUNTER=10?-   ST10013 REDUCE RTP TRANSMISSION RATE-   ST10014 END RTP PACKET TRANSMISSION-   ST10015 ADJUST TRANSMISSION RATE    FIG. 9-   RTSP REQUEST FROM DATA RECEPTION APPARATUS TO SERVER    FIG. 10-   RTSP RESPONSE FROM SERVER TO DATA RECEPTION APPARATUS    FIG. 11-   301 SERVER-   302 CONTROL INFORMATION TRANSMISSION/RECEPTION SECTION-   303 TCP TRANSMISSION/RECEPTION SECTION-   304 RECEIVER REPORT TRANSMISSION INTERVAL DETERMINATION SECTION-   311 COUNTER-   310 TIMER-   305 SENDER REPORT PACKET GENERATION SECTION-   307 RTCP TRANSMISSION/RECEPTION SECTION-   309 UDP TRANSMISSION/RECEPTION SECTION-   306 MEDIA STORAGE SECTION-   308 RTP TRANSMISSION SECTION-   312 TRANSMISSION RATE ADJUSTMENT SECTION-   313 SESSION DISCONNECTION SECTION-   101 DATA RECEPTION APPARATUS-   202 CONTROL INFORMATION TRANSMISSION/RECEPTION SECTION-   103 TCP TRANSMISSION/RECEPTION SECTION-   204 RECEIVER REPORT TRANSMISSION INTERVAL DETERMINATION SECTION-   105 RECEIVER REPORT PACKET GENERATION SECTION-   107 RTCP TRANSMISSION/RECEPTION SECTION-   109 UDP TRANSMISSION/RECEPTION SECTION-   106 MEDIA PLAYBACK SECTION-   108 RTP RECEPTION SECTION-   200 COMMUNICATION NETWORK    FIG. 12-   AUDIO/VIDEO COMMON INFORMATION-   AUDIO INFORMATION-   AUDIO DATA ADDITIONAL INFORMATION ACCORDING TO PRESENT INVENTION-   VIDEO INFORMATION-   VIDEO DATA ADDITIONAL INFORMATION ACCORDING TO PRESENT INVENTION

1. An adaptive control method in real-time communication, comprising: afirst step of making arrangement for a transmission interval of areceiver report packet to be transmitted to a data transmissionapparatus by a data reception apparatus between the data transmissionapparatus and the data reception apparatus before starting transmissionand reception of real-time data; a second step of the data transmissionapparatus monitoring reception conditions of the receiver report packetin a unit of the arranged transmission interval after startingtransmission and reception of the real-time data; and a third step ofthe data transmission apparatus adaptively controlling data transmissionbased on a monitoring result.
 2. The adaptive control method inreal-time communication according to claim 1, wherein the transmissioninterval of the receiver report packet in the first step is a fixedinterval or a tolerable maximum interval; in the second step, based oninformation of number of times of failed receptions of a receiver reportpacket within the transmission interval or within an interval of thetransmission interval plus a delay time of a transmission path, anoccurrence of congestion in the communication path, an occurrence of atransmission error in the communication path, or an inability ofcommunication with the reception apparatus is estimated; and in thethird step, a control for either data transmission rate change or datatransmission stop is performed.
 3. The adaptive control method inreal-time communication according to claim 1, wherein aconnection-oriented transport scheme having a high reliability is usedfor the arrangement of the transmission interval in the first step,whereas a connection-less type transport scheme is used for transmissionand reception of the real-time data.
 4. A method for taking measuresagainst consecutive loss of receiver report packets in real-timecommunication, comprising the steps of: either a data transmissionapparatus or a data reception apparatus notifying the apparatus at otherend a transmission interval of a receiver report packet to betransmitted by the data reception apparatus to the data transmissionapparatus before starting transmission and reception of data byutilizing a control signal at the time of session establishment andthereby obligating the data reception apparatus to transmit a receiverreport packet at least once within the transmission interval afterstarting transmission and reception; and the data transmission apparatusmonitoring the reception conditions of the receiver report packet sentfrom the data reception apparatus in a unit of an interval of thetransmission interval or an interval of the transmission interval plus adelay time of a transmission path, and performing adaptive control foreither data transmission rate change or data transmission stop in a casewhere consecutive loss of the receiver report packets arise.
 5. Adynamic determination apparatus for a transmission interval of areceiver report packet, comprising: a transmission intervaldetermination section that dynamically determines a transmissioninterval of a receiver report packet in real-time communication; and atransmission section that transmits the determined transmission intervalto an apparatus at other end of communication using aconnection-oriented transport scheme having a high reliability.
 6. Anadaptive control apparatus in real-time communication, comprising: amonitoring section that monitors reception conditions of the receiverreport packet in a unit of a transmission interval determined by thedynamic determination apparatus for the transmission interval of thereceiver report packet according to claim 5 after starting transmissionand reception of the real-time data; and an adaptive control sectionthat controls data distribution adaptively based on a monitoring result.7. A data reception apparatus for receiving media data distributed via acommunication network to replay audio and video, the apparatuscomprising: a transmission interval determination section thatdetermines an transmission interval of a receiver report packet; acontrol information transmission and reception section that notifies thedetermined transmission interval information to other end ofcommunication using a connection-oriented communication protocol; areceiver report packet generation section; and a receiver report packettransmission section that transmits the receiver report packet at leastonce within the transmission interval.
 8. The data reception apparatusaccording to claim 7, wherein the transmission interval of the receiverreport packet is a fixed interval or a tolerable maximum interval. 9.The data reception apparatus according to claim 7 or 8, wherein the datareception apparatus is a mobile device having a communication function.10. A data distribution apparatus for distributing real-time data via acommunication network, comprising: a transmission interval determinationsection that determines an transmission interval of a receiver reportpacket transmitted by an distribution end apparatus to the datadistribution apparatus; a control information transmission and receptionsection that is able to notify the determined transmission intervalinformation to other end of communication using a connection-orientedcommunication protocol; and a data distribution section that distributesthe real-time data using a connection-less type communication protocol.11. A data distribution apparatus for distributing real-time data via acommunication network, comprising: a timer for measuring the elapsing ofa transmission interval of a receiver report packet, which is notifiedby an apparatus at distribution end or is determined by the apparatusitself; a counter that counts number of times of failed receptions ofthe receiver report packet within the transmission interval or within aninterval of the transmission interval plus a delay time of atransmission path; and an adaptive control section in real-timecommunication that compares a counter value of the counter with one ormore threshold, and based on a comparison result, lowers transmissionrate of the real-time data or disconnects session.
 12. A mobile terminalapparatus which receives media data containing either audio data orvideo data from a media distribution server via a wired and wirelesscommunication network and has a playback function, the apparatuscomprising: a receiver report packet transmission interval arrangementsection that transmits information related to an interval fortransmitting a receiver report packet determined by itself or receivesinformation sent from the media distribution server related to aninterval at which the receiver report packet should be transmitted at astage of establishing a session with the media distribution server; anda receiver report packet transmission section that transmits a receiverreport packet to the media distribution server in accordance with theinformation related to the interval.